package com.jk.isense.auth.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.jk.isense.auth.entity.User;

import java.util.Set;

/**
 * <p>
 * 用户信息表 服务类
 * </p>
 *
 * @author fengshuonan
 * @since 2018-01-09
 */
public interface IUserService extends IService<User> {

    /**
     * 根据用户id获取用户信息
     */
    User getUserInfo(Long userId);

    /**
     * 根据用户id获取拥有的权限
     */
    Set<String> getPermissionUrlsByUserId(Long userId);

    /**
     * 根据用户账号查询用户
     *
     * @param account
     * @return
     */
    User getUserByUsername(String account);

    /**
     * 用户登录
     *
     * @param username 用户名
     * @param password 密码
     * @return 操作结果
     */
    String login(String username, String password);

    /**
     * 刷新密钥
     *
     * @param oldToken 原密钥
     * @return 新密钥
     */
    String refreshToken(String oldToken);

}
